'''
多任务可以由多进程完成，也可以由一个进程内的多线程完成。

进程是由若干线程组成的，一个进程至少有一个线程。

由于线程是操作系统直接支持的执行单元，因此，高级语言通常都内置多线程的支持
，Python也不例外，并且，Python的线程是真正的Posix Thread，而不是模拟出来的线程。

Python的标准库提供了两个模块：thread和threading，thread是低级模块
，threading是高级模块，对thread进行了封装。绝大多数情况下，我们只需要使用threading这个高级模块。
'''

#----------------------------------------------------------
import threading
from time import sleep

def fun1(arg1,arg2):
    global _fun1_i #全局变量
    for i in range(100000000):
        #print("%s--%s--%s"%(arg1,arg2,i))
        _fun1_i = i
        sleep(0.0001)

def fun2(arg1,arg2):
    global _fun2_i
    for i in range(100000000):
        #print("%s--%s--%s"%(arg1,arg2,i))
        _fun2_i = i
        sleep(0.0001)

def fun3():
    while(1):
        if((_fun1_i%1000)==0): #获取fun1函数中的数值
            print("--%s"%(_fun1_i))
            print("**%s"%(_fun2_i))
        sleep(0.001)

t1 = threading.Thread(target=fun1, args=('fun1','a'))
t2 = threading.Thread(target=fun2, args=('fun2','b'))
t3 = threading.Thread(target=fun3,args=())
t1.start()
t2.start()
t3.start()

